Apparatus and method for eliminating multi-user interference

ABSTRACT

Provided are an apparatus and method for eliminating multi-user interference in a codebook-based beamforming system. A transmitter for providing a service to multi-users in the codebook-based beamforming system includes a beamformer for generating beamformed user signals by multiplying transmit data of users, to whom the service is to be provided, by corresponding weighting factor vectors using feedback information; a null space generator for generating a null space matrix orthogonal to weighting factor vectors of other users; and a projector for projecting the beamformed user signals on the corresponding null space matrix and transmitting the resulting signals through a plurality of antennas. Because the multi-user signals can maintain orthogonality, the performance degradation caused by the multi-user interference can be prevented.

PRIORITY

This application claims priority under 35 U.S.C. §119 to an applicationfiled in the Korean Intellectual Property Office on Nov. 17, 2005 andallocated Serial No. 2005-110223, the contents of which are incorporatedherein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to a wireless communicationsystem using multiple antennas, and in particular, to an apparatus andmethod for eliminating multi-user interference in a codebook-basedMultiple Input Multiple Output (MIMO) system.

2. Description of the Related Art

Unlike the cable channel environment, in a radio channel environment ofa wireless communication system errors inevitably occur because ofvarious factors, such as multipath interference, shadowing, propagationattenuation, time-varying noise, and fading, resulting in data loss.

The data loss causes serious distortion of the transmit signals, thusdegrading the entire performance of the wireless communication system.To reduce the data loss, various error control techniques are used toincrease the reliability of the system according to channelcharacteristics. A basic technique is to use an error-correcting code.

Meanwhile, diversity techniques are used to reduce multipath fading inthe wireless communication system. Examples of the diversity techniquesinclude time diversity, frequency diversity, and antenna diversity.

The antenna diversity schemes using multiple antennas include a receiveantenna diversity scheme using a plurality of receive antennas, atransmit antenna diversity scheme using a plurality of transmitantennas, and a MIMO scheme using a plurality of receive antennas and aplurality of transmit antennas.

In MIMO communication systems, receivers can know channel information,but transmitters cannot know channel information. Therefore, in order toimprove the performance using channel information, the receivers have tofeed the channel information back to the transmitters.

A MIMO system with a transmitter performing pre-coding using the channelinformation will be described below. Pre-coding is a beamforming processof multiplying a transmit (TX) signal by a weighting factor.

The transmitter multiplies an encoded signal (x) by a beamformingweighting factor (w) and transmits it to a channel. When the encodedsignal (x) is a single stream, the beamforming weighting factor (w)consists of beamforming vectors. A signal received by the receiver isexpressed as Equation (1):

$\begin{matrix}{y = {{\sqrt{\frac{E_{S}}{N_{R}}}{Hwx}} + n}} & (1)\end{matrix}$where E_(S), N_(R), H, and n represent symbol energy, the number of RXantennas, channel, and zero mean Gaussian noise, respectively.

The transceiver finds an optimal beamforming vector (w) prior to thetransmission or reception operations and then transmits or receivessignals using the optimal beamforming vector (w). The number (N_(T)) ofTX antennas, the number (N) of streams, and the number (N) ofbeamforming vectors determine a beamformer (or a codebook) (W). Thebeamformer (W) can be designed using “Grassmannian Line Packing”. Thebeamformer (W) is expressed as Equation (2):W=[w₁w₂ . . . w_(N)],w_(i); i=1, . . . , N  (2)where w_(i) represents an i^(th) beamforming vector (N_(T)×1), and thebeamformer W is constructed with N beamforming vectors.

Generally, the beamformer (or the codebook) randomly generates thebeamforming vectors and calculates a minimum distance between thevectors. Then, the beamformer W is designed using N vectors that makethe minimum distance have a maximum value.

Table 1 shows a codebook having four TX antennas, a single stream, andeight beamforming vectors according to the Institute of Electrical andElectronics Engineers (IEEE) 802.16e system. Such a codebook-basedsystem forms antenna beams using the predefined beamforming vectors.

TABLE 1 Vector Index 1 2 3 4 5 6 7 8 Antenna 1 0.3780 0.3780 0.37800.3780 0.3780 0.3780 0.3780 1 Antenna 0 −0.2698 −0.7103 0.2830 −0.08410.5247 0.2058 0.0618 2 −j0.5668 +j0.1326 −j0.0940 +j0.6478 +j0.3532−j0.1369 −j0.3332 Antenna 0 0.5957 −0.2350 0.0702 0.0184 0.4115 −0.5211−0.3456 3 +j0.1578 −j0.1467 −j0.8261 +j0.0490 +j0.1825 j0.0833 +j0.5029Antenna 0 0.1587 0.1371 −0.2801 −0.3272 0.2639 0.6136 −0.5704 4 −j0.2411+j0.4893 +j0.0491 −j0.5662 +j0.4299 −j0.3755 +j0.2113

To find the optimal beamforming vector, the receiver (or terminal)carries out an operation expressed by Equation (3):

$\begin{matrix}{\arg\mspace{11mu}{\min\limits_{xbit}{\frac{E_{s}}{N_{0}}{tr}\left\{ \left( {I_{N_{t}} + {\frac{E_{s}}{N_{r}N_{0}}w_{1}^{H}H^{H}{Hw}_{1}}} \right)^{- 1} \right\}}}} & (3)\end{matrix}$where w_(l) is a beamforming vector selected from the previously knowncodebook, and I, N_(l), N_(r), H, E_(s), and N₀ represent an identitymatrix, the number of TX antennas, the number of RX antennas, a channelbetween the transmitter and the receiver, a signal, and a noise,respectively.

The receiver transmits to the transmitter over a feedback channel thebeamforming vector (w_(l)) selected by solving Equation (3).

Referring to FIG. 1, the transmitter includes an encoder/modulator 101,a weighting factor multiplier 103, a plurality of antennas 107-1 to107-N_(T), and a weighting factor generator 105. The receiver includes aplurality of antennas 109-1 to 109-N_(R), a MIMO decoder 111, ademodulator/decoder 113, and a codebook selector 115.

In the transmitter, the encoder/modulator 101 encodes outgoing data inaccordance with a given coding scheme and generates complex symbols bymodulating the encoded data in accordance with a given modulationscheme. The weighting factor generator 105 generates a beamformingvector corresponding to a codebook index fed back from the receiver.That is, the weighting factor generator 105 manages a codebook databaseand generates the beamforming vector corresponding to the codebookindex. The weighting factor multiplier 103 multiplies the complexsymbols by the beamforming vector and transmits the resulting signalthrough the antennas 107-1 to 107-N_(T).

In the receiver, the MIMO decoder 111 receives signals through theantennas 109-1 to 109-N_(R). At this point, the signals contain noisecomponents. The MIMO decoder 111 decodes the input vectors using apredetermined MIMO detection method and estimates the vectorstransmitted from the transmitter. The demodulator/decoder 113demodulates and decodes the symbols estimated by the MIMO decoder intooriginal data.

The codebook selector 115 constructs the channel coefficient matrix (H)by estimating the channel using a predetermined signal (e.g., pilotsignal) output from the MIMO decoder 111, and searches the optimalbeamforming vector using the channel coefficient matrix (H). Thecodebook information is stored in the memory. Using the beamformingvector and the channel coefficient matrix read from the memory, thecodebook selector 115 performs the operation of Equation (3) to selectthe optimal beamforming vector. Also, the codebook selector 115 feedsback the index of the selected beamforming vector (or the codebookindex) to the transmitter over the feedback channel. Because thetransmitter also has the codebook information, only the index of thebeamforming vector is fed back. Thus, size of the feedback informationcan be reduced because only the index of the beamforming vector istransmitted. As an example, when the codebook is designed using eightbeamforming vectors, the index can be expressed in 3 bits.

As described above, the existing codebook-based (or quantization-based)system is configured considering a single user. Therefore, when thesystem of FIG. 1 is expanded to provide the service to multi-users, themulti-user interference occurs together with the quantization error,thus degrading the system's performance.

It can be seen from FIG. 2 that the system performance (bit error rate(BER) in the same signal to noise ratio (SNR)) is greatly increased asthe number of the users increases. The performance of the conventionalquantization-based system depends on the performance of the maximumratio transmission (MRT). In the MRT system, however, there are noapproaches that can reduce the influence of the multi-user interferencein the multi-user environment. Thus, if the MRT system provides theservice to multi-users, the system performance is greatly reduced asillustrated in FIG. 2.

SUMMARY OF THE INVENTION

An object of the present invention is to substantially solve at leastthe above problems and/or disadvantages and to provide at least theadvantages below. Accordingly, an object of the present invention is toprovide an apparatus and method for providing a service to multi-usersin a codebook-based beamforming system, in which the performancedegradation caused by multi-user interference can be prevented.

Another object of the present invention is to provide an apparatus andmethod for providing a service to multi-users in a codebook-basedbeamforming system, in which beamformed user signals are projected intonull spaces formed for each user.

A further object of the present invention is to provide an apparatus andmethod for providing a service to multi-users in a codebook-basedbeamforming system, in which user combination is selected such thatbeamforming vectors are orthogonal and the service is provided to theusers according to the selected user combination.

According to one aspect of the present invention, a transmitter forproviding a service to multi-users in a codebook-based beamformingsystem includes a beamformer for generating user signals beamformed bymultiplying transmit data of users by corresponding weighting factorvectors using feedback information; a null space generator forgenerating a null space matrix orthogonal to weighting factor vectors ofother users; and a projector for projecting the beamformed user signalson the corresponding null space matrix and transmitting the resultingsignals through a plurality of antennas.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features and advantages of the presentinvention will become more apparent from the following detaileddescription when taken in conjunction with the accompanying drawings inwhich:

FIG. 1 is a block diagram of a prior codebook-based MIMO system;

FIG. 2 is a graph of the performance variation with respect to thenumber of users in a prior codebook-based beamforming system;

FIG. 3 is a block diagram of a null space codebook-based beamformingsystem according to the present invention;

FIG. 4 is a flowchart illustrating a process of providing the service tomulti-users in the null space codebook-based beamforming system;

FIG. 5 is a block diagram of an orthogonal codebook-based beamformingsystem according to the present invention;

FIG. 6 is a flowchart illustrating a process of providing the service tomulti-users in the orthogonal codebook-based beamforming system;

FIG. 7A is a graph illustrating the performance of the null spacecodebook-based beamforming system (GSO-QMRT); FIG. 7B is anotherillustration of the performance of the null space codebook-basedbeamforming system (GSO-QMRT)

FIG. 8A is a graph illustrating the performance of the codebook-basedbeamforming system (MUO-QMRT); and

FIG. 8B is another illustration of the performance of the codebook-basedbeamforming system (MUO-QMRT).

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be described hereinbelow with reference to the accompanying drawings. In the followingdescription, well-known functions or constructions are not described indetail since they would obscure the invention in unnecessary detail.

The following description is about a method for reducing the performancedegradation caused by the multi-user interference when a codebook-basedbeamforming system provides a service to multi-users.

Referring to FIG. 3, a transmitter includes a buffer 300, anencoder/modulator 301, a plurality of weighting factor multipliers 303-1to 303-K_(S), a plurality of null space projectors 305-1 to 305-K_(S), aplurality of adders 307-1 to 307-N_(T), a plurality of antennas 309-1 to309-N_(T), a user selector 311, a weighting factor generator 313, and aplurality of null space generators 315-1 to 315-K_(S). In addition, eachof receivers 320-1 to 320-K includes a plurality of antennas 321-1 to321-N_(R), a MIMO decoder 323, a demodulator/decoder 325, a channelestimator 327, and a codebook selector 329. Because the receivers 320-1to 320-K receiving the service from the transmitter have the samestructure, the receiver 320-1 will be taken as an example.

In the transmitter, the user selector 311 receives codebook indexes anduser selection information fed back from the receivers 320-1 to 320-K,and selects the users to which the service is to be provided by usingthe user selection information. The user selector 311 provides thebuffer 300 with the user selection signal. In addition, the userselector 311 provides the weighting factor generator 313 with thecodebook indexes fed back from the selected users. The fed-back userselection information may include a distance between a weighting factorvector actually calculated by the receiver and a codebook vector, achannel status, a product of the distance and the channel status, and soon. That is, using the fed-back information, the user selector 311selects a predetermined number of users whose channel status is goodand/or in which distance between the real channel and the codebook isshort.

The buffer 300 buffers a plurality of user packets to be transmitted,and selects the packets of the corresponding users according to the userselection signal output from the user selector 311. Theencoder/modulator 301 encodes the user data received from the buffer 300and generates complex symbols by modulating the encoded data.

The weighting factor generator 313 manages the codebook database andgenerates weighting factor vectors (beamforming vectors) with respect tothe codebook indexes received from the user selector 311. The weightingfactor generator 313 provides the beamforming vectors to thecorresponding weighting factor multipliers 303-1 to 303-K_(S). Inaddition, the weighting factor generator 313 generates a matrixconsisting of undesired beamforming vectors with respect to the selectedusers, and provides the matrix to the corresponding null space generator305-1 to 305-K_(S).

An interference matrix consisting of undesired beamforming vectors withrespect to a k^(th) user can be expressed as Equation (4):W _(−k) =[w ₁ . . . w _(k−1) w _(k+1) . . . w _(Ks)]  (4)where w_(k) is the beamforming vector of the k^(th) user.

The weighting factor multipliers 303-1 to 303-K_(S) generate beamformeduser signals by multiplying the k^(th) user's TX vector from theencoder/modulator 301 by the k^(th) user's beamforming vector from theweighting factor generator 313.

The null space generators 315-1 to 315-K_(S) generate a projectionmatrix from the interference matrix of the k^(th) user output from theweighting factor generator 313 by using Gram-Schmidt orthogonalization.Using the projection matrix, the null space generators 315-1 to315-K_(S) generate null space matrix (or orthogonal space matrix) fornulling the signals of the users except for the k^(th) user, andprovides the null space matrix to the corresponding null spaceprojectors 305-1 to 305-K_(S).

The projection matrix P_(k) of the k^(th) user can be calculated usingEquation (5):P _(k) W _(−k)(W _(−k) ^(H) W _(−k))⁻¹ W _(−k) ^(H)  (5)

In addition, the null space of the k^(th) user can be calculated usingEquation (6):null space=C _(k)(I−P _(k))  (6)where C_(k) is a scaling constant.

The null space projectors 305-1 to 305-K_(S) multiply the null spacematrixes from the corresponding null space generators by the beamformeduser signals from the corresponding weighting factor multipliers. Inother words, projecting the beamformed user signals on the null space ofeach user eliminates the interference between the users.

The adders 307-1 to 307-N_(T) add the corresponding antenna signalsoutput from the null space projectors 305-1 to 305-N_(T), and outputsthe added antenna signals to the corresponding antennas. For example,the adder 307-1 adds first antenna signals output from the null spaceprojectors 305-1 to 305-N_(T), and outputs the added antenna signals tothe first antenna 309-1. Although not shown, when an OrthogonalFrequency Division Multiplexing (OFDM) scheme is used, the output signalof the adder 307-1 is OFDM-modulated, and the OFDM-modulated signal isRF-processed such that it can be transmitted over the real radiocommunication channel. Then, the RF-processed signal is transmittedthrough the first antenna over the radio communication channel.

In the receiver, the antennas 321-1 to 321-N_(R) receive the signalstransmitted from the antennas 309-1 to 309-N_(T) of the transmitter.Although not shown, when the OFDM scheme is used, RF signals receivedthrough the antennas 321-1 to 321-N_(R) are converted into basebandsample data. The sample data are OFDM-modulated and then decoded by theMIMO decoder 323.

The MIMO decoder 323 decodes the RX vectorsin accordance with a givenMIMO detection method, and estimates the TX vectors transmitted from thetransmitter. Examples of the MIMO detection method includes a MaximumLikelihood (ML) scheme, a Modified ML (MML) scheme a Zero-Forcing (ZF)scheme, a Minimum Mean Square Error (MMSE) scheme, a SuccessiveInterference Cancellation (SIC) scheme, and a Vertical Bell Labs LayeredSpace Time (V-BLAST) scheme. The demodulator/decoder 325 demodulates anddecodes the estimated symbols from the MIMO decoder 323 into originaldata.

The channel estimator 327 constructs the channel coefficient matrix (H)by estimating the channel using a predetermined signal (e.g., pilotsignal) output from the MIMO decoder 323. The channel coefficient matrixcan be used to estimate the TX vector in the MIMO decoder 323, and canbe used to search the codebook index in the codebook selector 329.

The codebook selector 329 calculates the beamforming weighting factorvector that can maximize channel gain by using the channel coefficientmatrix received from the channel estimator 327, compares the weightingfactor vector with the vectors of the codebook, and transmits the index(codebook index) of the vector that is closest to the weighting factorvector through the feedback channel to the transmitter. At this point,the codebook selector 329 feeds back the user selection information aswell as the codebook index to the transmitter. As described above, theuser selection information may include the distance between the actuallycalculated weighting factor vector and the codebook vector, the channelstatus, the product of the distance and the channel status, and so on.

Referring to FIG. 4, the transmitter selects the receivers (users) towhich the service is to be provided by using the user selectioninformation fed back from the receivers in step 401. The user selectioninformation may include a distance between a weighting factor vectoractually calculated by the receiver and a codebook vector, a channelstatus, a product of the distance and the channel status, and so on.That is, using the fed-back information, the transmitter selects apredetermined number of users whose channel status is good and/or inwhich distance between the real channel and the codebook is short.

In step 403, the transmitter generates the weighting factor vectors(beamforming vectors) with respect to the selected users by using thefed-back codebook indexes. In step 405, the transmitter generates thebeamformed user signals by multiplying the user data by the weightingfactor vector.

In step 407, the transmitter generates the null space with respect tothe selected users. Specifically, the transmitter constructs theinterference matrix with respect to the users, generates the projectionmatrix from the interference matrix by using Gram-Schmidtorthogonalization, and generates the null space with respect to thecorresponding user by subtracting the projection matrix from theidentity matrix.

In step 409, the transmitter orthogonalizes the user signals byprojecting the beamformed user signals into the corresponding nullspace. In step 411, the transmitter adds the projected user signalsaccording to the antennas. Then, the transmitter processes the addeduser signals in accordance with a regulated transmission specification,and transmits the processed user signals through the correspondingantenna.

Referring to FIG. 5, a transmitter includes a buffer 500, anencoder/modulator 501, a plurality of weighting factor multipliers 503-1to 503-K_(S), a plurality of adders 505-1 to 505-N_(T), a plurality ofantennas 507-1 to 507-N_(T), a weighting factor vector selector 509, aminimum eigenvalue calculator 511, a user combination selector 513, anda weighting factor generator 515. In addition, each of receivers 520-1to 520-K includes a plurality of antennas 521-1 to 521-N_(R), a MIMOdecoder 523, a demodulator/decoder 525, a channel estimator 527, and acodebook selector 529. Because the receivers 520-1 to 520-K receivingthe service from the transmitter have the same structure, the receiver520-1 will be taken as an example.

In the transmitter, the weighting factor vector selector 509 receivesweighting factor vectors (beamforming vectors) from the weighting factorgenerator 515 with respect to codebook indexes fed back from thereceivers 520-1 to 520-K. The weighting factor vector selector 509constructs a weighting factor matrix (A^((j))) by selecting K_(S)weighting factor vectors among K weighting factor vectors output fromthe weighting factor generator 515. At this point, the number of casesthat select the K_(S) weighting factor vectors among the K weightingfactor vectors is _(K)C_(Ks).

The minimum eigenvalue calculator 511 calculates the minimum eigenvalueof A^((j)H)A^((j)) with respect to the KCKS weighting factor matrixesoutput from the weighting factor vector selector 509. The usercombination selector 513 selects the smallest value among the minimumeigenvalues output from the minimum eigenvalue calculator 511, selectsthe user combination corresponding to the selected minimum eigenvalue,and provides the buffer 500 with a user selection signal correspondingto the selected user combination.

The operation of selecting the smallest value among the minimumeigenvalues can be expressed as Equation (7):

$\begin{matrix}{A^{(k)} = {\begin{matrix}{\arg\mspace{11mu}\min} \\{A^{(k)},\;{j = 1},\ldots\mspace{11mu},{{}_{}^{}{}_{}^{}}}\end{matrix}{{1 - {\lambda_{\min}\left( {\left\{ A^{(j)} \right\}^{H}\left\{ A^{(j)} \right\}} \right)}}}}} & (7)\end{matrix}$where λ_(min)(·) means the minimum eigenvalue of the matrix.

If the K_(S) weighting factor vectors are orthogonal to one another,A^((j)H)A^((j)) approaches the identity matrix I. Thus, the usercombination selector 513 selects the user combination whose eigenvalueis closest to 1 with respect to all _(K)C_(Ks) user combinations.

The buffer 500 buffers a plurality of user packets to be transmitted,and selects the packets of the corresponding users according to the userselection signal output from the user combination selector 511. Theencoder/modulator 501 encodes the user data received from the buffer 500in accordance with a given coding scheme and generates complex symbolsby modulating the encoded data in accordance with a given modulationscheme.

The weighting factor generator 515 manages the codebook database andgenerates weighting factor vectors (beamforming vectors) correspondingto the user selection signal output from the user combination selector513. Then, the weighting factor generator 515 provides the beamformingvectors to the corresponding weighting factor multipliers 503-1 to503-K_(S).

The weighting factor multipliers 503-1 to 503-K_(S) generate beamformeduser signals by multiplying the k^(th) user's TX vector from theencoder/modulator 501 by the k^(th) user's beamforming vector from theweighting factor generator 515.

The adders 505-1 to 505-N_(T) add the corresponding antenna signalsoutput from the weighting factor multipliers 503-1 to 503-N_(T), andoutputs the added antenna signals to the corresponding antennas. Forexample, the adder 505-1 adds first antenna signals output from theweighting factor multipliers 503-1 to 503-N_(T), and outputs the addedantenna signals to the first antenna 507-1. Although not shown, when anOFDM scheme is used, the output signal of the adder 505-1 isOFDM-modulated, and the OFDM-modulated signal is RF-processed such thatit can be transmitted over the real radio communication channel. Then,the RF-processed signal is transmitted through the first antenna overthe radio communication channel.

In the receiver, the antennas 521-1 to 521-N_(R) receive the signalstransmitted from the antennas 507-1 to 507-N_(T) of the transmitter.Although not shown, when the OFDM scheme is used, RF signals receivedthrough the antennas 521-1 to 521-N_(R) are converted into basebandsample data. The sample data are OFDM-modulated and then serve as inputto the MIMO decoder 523.

The MIMO decoder 523 decodes the RX vectors in accordance with a givenMIMO detection method, and estimates the TX vectors transmitted from thetransmitter. Examples of the MIMO detection method includes a MaximumLikelihood (ML) scheme, a Modified ML (MML) scheme a Zero-Forcing (ZF)scheme, a Minimum Mean Square Error (MMSE) scheme, a SuccessiveInterference Cancellation (SIC) scheme, and a Vertical Bell Labs LayeredSpace Time (V-BLAST) scheme. The demodulator/decoder 525 demodulates anddecodes the estimated symbols from the MIMO decoder 523 into originaldata.

The channel estimator 527 constructs the channel coefficient matrix (H)by estimating the channel using a predetermined signal (e.g., pilotsignal) output from the MIMO decoder 523. The channel coefficient matrixcan be used to estimate the TX vector in the MIMO decoder 523, and canbe used to search the codebook index in the codebook selector 529.

The codebook selector 529 calculates the beamforming weighting factorvector that can maximize the channel gain by using the channelcoefficient matrix received from the channel estimator 527, compares theweighting factor vector with the vectors of the codebook, and transmitsthe index (codebook index) of the vector that is closest to theweighting factor vector through the feedback channel to the transmitter.

Referring to FIG. 6, the transmitter reads the weighting factor vectorfrom the codebook database using the codebook indexes fed back from theK receivers in step 601. In step 603, the transmitter generates theweighting factor matrix A^((j)) consisting of the correspondingweighting factor vectors with respect to the user combinations in allthe cases of selecting the K_(S) users among the K users.

In step 605, the transmitter calculates A^((j)H)A^((j)) with respect tothe weighting factor matrixes, and calculates the minimum eigenvalue ofA^((j)H)A^((j)). In step 607, the transmitter selects the smallest valueof the calculated minimum eigenvalues. In step 609, the transmitterselects the user combination corresponding to the selected minimumeigenvalue.

In step 611, the transmitter generates the weighting factor vector(beamforming vector) with respect to the selected users by using thefed-back codebook indexes, and generates the beamformed user signals bymultiplying the user data by the beamforming vector.

In step 613, the transmitter adds the user signals according to theantennas. Then, the transmitter processes the added user signals inaccordance with a regulated transmission specification, and transmitsthe processed user signals through the corresponding antenna.

Hereinafter, the simulation results according to the present inventionwill be described.

Referring to FIG. 7A, compared with the MRT system that cannot eliminatethe multi-user interference, the Gram-SchmidtOrthogonalization-Quantized MRT (GSO-QMRT) system according to thepresent invention shows improvement in performance gain. As thequantization level increases, that is, as the codebook size increases,the system performance improved. In addition, it can be seen that thesystem of FIG. 7B, which selects two users among hundred users, hasbetter performance than the system of FIG. 7A, which selects two usersamong ten users. The reason for this is that as the number of usersincreases, the probability that the perfect orthogonal weighting factorvector set will be found increases.

Referring to FIG. 8A, compared with the GSO-QMRT system, the performanceof the Multi-User Orthogonalization-Quantized MRT (MUO-QMART) system isnot greatly degraded when the number of the users increases. However,when the number of the selected users is two, the performances of thetwo systems are similar. In terms of complexity, the GSO-QMRT system ismore efficient than the MUO-QMRT system, because the MUO-QMRT systemexecutes the pre-coding operation.

Referring to FIG. 8B, as the number of the users increases, theperformance is not improved. However, the performance is saturated bythe quantization error of the codebook.

As described above, because the multi-user signals can maintain theorthogonality in the codebook-based beamforming system, the performancedegradation caused by the multi-user interference can be prevented.

While the invention has been shown and described with reference tocertain preferred embodiments thereof, it will be understood by thoseskilled in the art that various changes in form and details may be madetherein without departing from the spirit and scope of the invention asfurther defined by the appended claims.

1. A transmitter for providing a service to multi-users, comprising: abeamformer for generating beamformed user signals by multiplyingtransmit data of users, to whom the service is to be provided, bycorresponding weighting factor vectors using feedback information; anull space generator for generating a null space matrix orthogonal toweighting factor vectors of other users; and a projector for projectingthe beamformed user signals on the corresponding null space matrix. 2.The transmitter of claim 1, wherein the beamformer comprises: a userselector for selecting a predetermined number of users to whom theservice is to be provided by using the feedback information; a weightingfactor generator for generating weighting factor vectors with respect tothe selected users by using the feedback information; and a weightingfactor multiplier for generating the beamformed user signals bymultiplying the transmit data of the selected users by the correspondingweighting factor vector output from the weighting factor generator. 3.The transmitter of claim 1, wherein the projector comprises: a nullspace projector for multiplying the beamformed user signals output fromthe beamformer by the corresponding null space matrix output from thenull space generator; and an adder for adding the user signals outputfrom the null space projector according to antennas, and providing theadded antenna signals to corresponding antennas.
 4. The transmitter ofclaim 1, wherein the feedback information comprises codebook index anduser selection information.
 5. The transmitter of claim 4, wherein theuser selection information contain one of a distance between a weightingfactor vector actually calculated by a receiver and a codebook vector, achannel status, and a product of the distance and the channel status. 6.The transmitter of claim 2, wherein the user selector uses the feedbackinformation to select a predetermined user whose channel status is goodand in which distance between a real channel and a codebook is short. 7.The transmitter of claim 1, wherein the null space generator generatesthe null space matrix with respect to the users by using Gram-Schmidtorthogonalization.
 8. The transmitter of claim 1, wherein the null spacegenerator generates a projection matrix from an interference matrixconsisting of weighting factor vectors of other users with respect to ak^(th) user, and generates a null space matrix with respect to thek^(th) user by subtracting the projection matrix from an identitymatrix.
 9. A transmitter for providing a service to multi-users,comprising: a user combination selector for selecting a predeterminednumber of weighting factor vectors orthogonal to one another amongweighting factor vectors according to codebook indexes fed back from areceiver, and determining a user combination based on the selectedweighting factor vectors; and a beamformer for beamforming transmit dataof users based on user combination into weighting factor vectors basedon the corresponding fed-back codebook indexes.
 10. The transmitter ofclaim 9, wherein the user combination selector comprises: a weightingfactor vector selector for selecting a predetermined number of weightingfactor vectors among weighting factor vectors according to the fed-backcodebook indexes, and constructing a weighting factor matrix A^((j))(where j=1, 2, . . . , number of user combinations) according to theuser combination; a minimum eigenvalue calculator for calculating theminimum eigenvalues A^((j)H)A^((j)) with respect to the weighting factormatrixes output from the weighting factor vector selector and a usercombination selector for selecting the smallest value of the minimumeigenvalues and for selecting a user combination corresponding to theselected minimum eigenvalue.
 11. The transmitter of claim 9, wherein thebeamformer comprises: a weighting factor multiplier for generatingbeamformed user signals by multiplying the transmit data of the users bythe weighting factor vector according to the corresponding codebookindex; and an adder for adding the beamformed user signals according toantennas, and providing the added antenna signals to the correspondingantennas.
 12. A method for transmitting a service to multi-users in acodebook-based beamforming system, comprising the steps of: generatingbeamformed user signals by multiplying transmit data of users to whichthe service is to be provided using feedback information bycorresponding weighting factor vectors; generating a null space matrixorthogonal to weighting factor vectors of other users; and projectingthe beamformed user signals on the corresponding null space matrix. 13.The method of claim 12, wherein the step of generating the beamformeduser signals comprises: selecting a predetermined number of users towhom the service is to be provided using the feedback information;generating weighting factor vectors with respect to the selected usersby using the feedback information; and generating the beamformed usersignals by multiplying the transmit data of the selected users by thecorresponding weighting factor vector.
 14. The method of claim 12,wherein the transmitting step comprises: projecting the beamformed usersignals on the corresponding null space matrix; and adding the usersignals projected on the null space matrix according to the antennas,and transmitting the added antenna signals through the correspondingantennas.
 15. The method of claim 12, wherein the feedback informationcomprises codebook index and user selection information.
 16. The methodof claim 15, wherein the user selection information contain one of adistance between a weighting factor vector actually calculated by areceiver and a codebook vector, a channel status, and a product of thedistance and the channel status.
 17. The method of claim 13, wherein thestep of selecting the users comprises: using the feedback information toselect a predetermined users whose channel status is good and in whichdistance between a real channel and a codebook is short.
 18. The methodof claim 12, wherein the null space matrix with respect to the users isgenerated using Gram-Schmidt orthogonalization.
 19. The method of claim12, wherein the step of generating the null space matrix comprises:generating a projection matrix from an interference matrix consisting ofweighting factor vectors of other users with respect to a k^(th) user;and generating a null space matrix with respect to the k^(th) user bysubtracting the projection matrix from an identity matrix.
 20. A methodfor transmitting a service to multi-users in a codebook-basedbeamforming system, comprising the steps of: selecting a predeterminednumber of weighting factor vectors orthogonal to one another amongweighting factor vectors according to codebook indexes fed back from areceiver, and determining a user combination based on the selectedweighting factor vectors; and beamforming transmit data of users basedon user combination into weighting factor vectors based on thecorresponding fed-back codebook indexes.
 21. The method of claim 20,wherein the step of determining the user combination comprises:selecting a predetermined number of weighting factor vectors amongweighting factor vectors according to the fed-back codebook indexes, andconstructing a weighting factor matrix A^((j)) (where j=1, 2, . . . ,number of user combinations) according to the user combination;calculating A^((j)H)A^((j)) with respect to the weighting factormatrixes, and calculating minimum eigenvalues of A^((j)H)A^((j)); andselecting the smallest value of the minimum eigenvalues and selecting auser combination corresponding to the selected minimum eigenvalue. 22.The method of claim 20, wherein the transmitting step comprises:generating beamformed user signals by multiplying the transmit data ofthe users by the weighting factor vector according to the correspondingcodebook index; and adding the beamformed user signals according to theantennas, and providing the added antenna signals to the correspondingantennas.